#include <iostream>

using namespace std;

template<typename T>
void insertsort(T in[],const int len){
    int idx;
    T tmp;
    for(int i=1;i<len;i++){
        idx =i-1;
        tmp=in[i];
        while(idx>=0&&in[idx]>tmp){
            in[idx+1]=in[idx];
            idx--;
        }
        in[idx+1]=tmp;
    }
}

// 12 14 16 17 15

int main(){
    int a[]={4,8,7,5,2,1,9,0,6,3};
    insertsort(a,10);
    for(int i=0;i<10;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
    return 0;
}